﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ContaTelefone.Data;
using ContaTelefone.Entities;

namespace ContaTelefone.Process
{
    public class CliForProcess
    {
        CLIENTE_FORNECEDORRepository ccR = new CLIENTE_FORNECEDORRepository();

        public void Incluir(CliForEntities objEtt)
        {
            CLIENTE_FORNECEDOR obj = new CLIENTE_FORNECEDOR();
            obj.NUMERO = objEtt.Numero;
            obj.NOME = objEtt.Nome;
            obj.CLIENTE = objEtt.Cliente;
            obj.FORNECEDOR = objEtt.Fornecedor;

            ccR.Add(obj);
        }

        public void Alterar(CliForEntities objEtt)
        {
            CLIENTE_FORNECEDOR obj = ccR.getCLIENTE_FORNECEDOR(objEtt.ID);
            if (obj != null)
            {
                obj.NUMERO = objEtt.Numero;
                obj.NOME = objEtt.Nome;
                obj.CLIENTE = objEtt.Cliente;
                obj.FORNECEDOR = objEtt.Fornecedor;

                ccR.Update();
            }
        }

        public void Delete(CliForEntities objEtt)
        {
            CLIENTE_FORNECEDOR obj = ccR.getCLIENTE_FORNECEDOR(objEtt.ID);
            if (obj != null)
                ccR.Delete(obj);
        }

        public CliForEntities getobj(int ID)
        {
            CLIENTE_FORNECEDOR obj = ccR.getCLIENTE_FORNECEDOR(ID);
            if (obj != null)
            {
                CliForEntities objEtt = new CliForEntities();
                objEtt.ID = obj.ID;
                objEtt.Numero = obj.NUMERO;
                objEtt.Nome = obj.NOME;
                objEtt.Cliente = obj.CLIENTE.Value;
                objEtt.Fornecedor = obj.FORNECEDOR.Value;

                return objEtt;
            }
            else
                return null;
        }

        public List<CliForEntities> Listar()
        {
            List<CliForEntities> lista = new List<CliForEntities>();

            foreach (CLIENTE_FORNECEDOR obj in ccR.GetCLIENTE_FORNECEDORs())
            {
                lista.Add(getobj(obj.ID));
            }

            return lista;
        }
    }
}
